package com.shensi.adminCollect.service.station;

import com.shensi.common.core.domain.AjaxResult;
import com.shensi.adminCollect.domain.station.ActiveSendCoupon;
import com.shensi.adminCollect.domain.station.Enterprise;
import com.shensi.adminCollect.domain.station.vo.EnterpriseVo;

import java.util.List;

/**
 * 油企信息Service接口
 * 
 * @author qujia
 * @date 2020-12-08
 */
public interface IEnterpriseService
{
    /**
     * 查询油企信息
     *
     * @param enterpriseId 油企信息ID
     * @return 油企信息
     */
    public Enterprise selectEnterpriseById(Long enterpriseId);

    /**
     * 查询油企信息列表
     *
     * @param enterprise 油企信息
     * @return 油企信息集合
     */
    public List<Enterprise> selectEnterpriseList(Enterprise enterprise);


    /**
     * 查询油企信息列表
     *
     * @param enterprise 油企信息
     * @return 油企信息集合
     */
    public List<Enterprise> transactionEnterpriseList(Enterprise enterprise);

    /*
     * 微信公众号推送
     * @param appId
     * @param appSecret
     * @param templateId
     * @param openId
     * @param wxMpTemplateDataList
     */
    public Integer push(String openId, Enterprise enterprise, String url, String message, ActiveSendCoupon activeSendCoupon);



    /**
     * 创建微信卡卷的
     *
     * @param enterprise 油企信息
     * @return 结果
     */
    public AjaxResult createCardEnterprise(Enterprise enterprise);

    /**
     * 新增油企信息
     *
     * @param enterprise 油企信息
     * @return 结果
     */
    public int insertEnterprise(Enterprise enterprise) throws Exception;

    public AjaxResult addEnterprise(EnterpriseVo enterpriseVo) throws Exception ;

    /**
     * 修改油企信息
     *
     * @param enterprise 油企信息
     * @return 结果
     */
    public int updateEnterprise(Enterprise enterprise) throws Exception;

    /**
     * 删除油企信息
     *
     * @param enterpriseId 油企信息ID
     * @return 结果
     */
    public int deleteEnterpriseById(Long enterpriseId);

    /**
     * 批量删除油企信息
     *
     * @param enterpriseIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteEnterpriseByIds(Long[] enterpriseIds);

    /**
     * 根据油站id查询油企
     * */
    Enterprise selectEnterpriseByStationId(Long stationId);

    int initgzhFunction(Long enterpriseId);

    /**
     * 修改油企会员卡头像地址
     * */
    public int updateEnterpriseCardLogo(Enterprise enterprise);
}
